package org.itboys.mobile.entity.mysql;


import com.fasterxml.jackson.annotation.JsonIgnore;
import org.itboys.mysql.entity.BaseMySqlEntity;
import java.math.BigDecimal;

/**
 * 作者：jiangxiong
 * 日期：2017年10月26日
 * 联系方式 ：empty90911@126.com
 * 天街_消费卡_实体
 */
public class TianJieWallet extends BaseMySqlEntity {

	//基础属性
	private Long memberId;//用户ID
    private BigDecimal totalAmount;//总余额。来源，1自己充值，2拨付，
    private BigDecimal unreleaseAmount;//待释放余额。来源：1，充值，2，拨付，3,冻结金额（退出区块链）
    private BigDecimal frozenAmount;//冻结金额。来源：1,待释放金额（托管区块链）
    //可以提现的金额
    private BigDecimal releaseAmount;//已释放金额即周薪（可提现）。来源：1，待释放金额，
    private BigDecimal cashAmount;//现金金额即日薪（可提现）。来源。1,推荐用户充值
    private BigDecimal profitAmount;//区块链收益即理财（可提现）。来源。1，退出区块链时，可用金额超出本金的部分
    //业绩等级相关
    private BigDecimal totalAchievement;//总业绩
    private BigDecimal scale;//提成折扣;直接写入
    private Integer status;//钱包状态。用户状态变动；
    @JsonIgnore
    private String financeTjFirstPath;//用户第一推荐人集合。实时读取


    public TianJieWallet() {
    }


    public TianJieWallet(Long memberId, BigDecimal totalAmount, BigDecimal unreleaseAmount, BigDecimal frozenAmount, BigDecimal releaseAmount,
                         BigDecimal cashAmount, BigDecimal profitAmount) {
        this.memberId = memberId;
        this.totalAmount = totalAmount;
        this.unreleaseAmount = unreleaseAmount;
        this.frozenAmount = frozenAmount;
        this.releaseAmount = releaseAmount;
        this.cashAmount = cashAmount;
        this.profitAmount = profitAmount;
    }
    public TianJieWallet(Long memberId) {
        this.memberId = memberId;
    }

    public Long getMemberId() {
        return memberId;
    }

    public void setMemberId(Long memberId) {
        this.memberId = memberId;
    }

    public BigDecimal getTotalAmount() {
        return totalAmount;
    }

    public void setTotalAmount(BigDecimal totalAmount) {
        this.totalAmount = totalAmount;
    }

    public BigDecimal getUnreleaseAmount() {
        return unreleaseAmount;
    }

    public void setUnreleaseAmount(BigDecimal unreleaseAmount) {
        this.unreleaseAmount = unreleaseAmount;
    }

    public BigDecimal getFrozenAmount() {
        return frozenAmount;
    }

    public void setFrozenAmount(BigDecimal frozenAmount) {
        this.frozenAmount = frozenAmount;
    }

    public BigDecimal getReleaseAmount() {
        return releaseAmount;
    }

    public void setReleaseAmount(BigDecimal releaseAmount) {
        this.releaseAmount = releaseAmount;
    }

    public BigDecimal getCashAmount() {
        return cashAmount;
    }

    public void setCashAmount(BigDecimal cashAmount) {
        this.cashAmount = cashAmount;
    }

    public BigDecimal getProfitAmount() {
        return profitAmount;
    }

    public void setProfitAmount(BigDecimal profitAmount) {
        this.profitAmount = profitAmount;
    }

    public BigDecimal getTotalAchievement() {
        return totalAchievement;
    }

    public void setTotalAchievement(BigDecimal totalAchievement) {
        this.totalAchievement = totalAchievement;
    }

    public BigDecimal getScale() {
        return scale;
    }

    public void setScale(BigDecimal scale) {
        this.scale = scale;
    }

    public String getFinanceTjFirstPath() {
        return financeTjFirstPath;
    }

    public void setFinanceTjFirstPath(String financeTjFirstPath) {
        this.financeTjFirstPath = financeTjFirstPath;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }
}
